(cons 0 (list 1 2 3))
(remove 2 (list 1 2 3 2 4))
(define *my-list* (list 1 2 3 4))
(first *my-list*)    ; 返回 1
(rest *my-list*)     ; 返回 (2 3 4)
(nth 2 *my-list*)    ; 返回 3
(setf (nth 1 *my-list*) 5)
*my-list*            ; 返回 (1 5 3 4)
(defun quicksort (lst)
  (if (null lst)
      nil
      (let ((pivot (first lst))
            (rest (rest lst)))
        (append
         (quicksort (remove-if-not #'(lambda (x) (<= x pivot)) rest))
         (list pivot)
         (quicksort (remove-if #'(lambda (x) (<= x pivot)) rest))))))

(quicksort (list 5 4 3 2))

(defun analyze-number (n)
  (cond ((< n 0) "Negative")
        ((= n 0) "Zero")
        ((> n 0) "Positive")))
(analyze-number 1)
(analyze-number 0)
(analyze-number -1)
